package rolesystem.roles.carry;


import rolesystem.core.RoleAction;
import rolesystem.middle.utilityclasses.MessagePayload;
import rolesystem.roles.KnownEvent;


public class Explorer 
{
	/**
	 * Role identifier.
	 */
	public static final String ROLE_ID="carry.Explorer";	
	
	/**
	 * 
	 * Sender role: 
	 * Content: .
	 */
	public static final KnownEvent KE_iAmMaster=new KnownEvent("iAmMaster", Master.ROLE_ID);
	
	public static final KnownEvent KE_syncData=new KnownEvent("syncData", Master.ROLE_ID,MessagePayload.class);//KnownEnvironment
	
	public static final KnownEvent KE_youAreMaster=new KnownEvent("youAreMaster", Explorer.ROLE_ID);
	
	public static final KnownEvent KE_changeRandom=new KnownEvent("changeRandom", Explorer.ROLE_ID);
	
	public static final KnownEvent KE_changeSlave=new KnownEvent("youAreSlave", Explorer.ROLE_ID);
	
	
	
	public static RoleAction moveData(int addressee,MessagePayload positions)//KnownEnvironment
	{
		return new RoleAction("moveData", addressee,positions);
	}
	
	public static RoleAction youAreMaster(int addressee)
	{
		return new RoleAction("youAreMaster", addressee);
	}
	
	public static RoleAction changeRandom(int addressee)
	{
		return new RoleAction("changeRandom", addressee);
	}
	
	public static RoleAction youAreSlave(int addressee)
	{
		return new RoleAction("youAreSlave", addressee);
	}

}